iT邦幫忙

object-oriented programming(oop)相關文章
共有 48 則文章
鐵人賽 DevOps DAY 9

技術 Day 09: 物件導向編程 OOP 的基本概念

學習原因: 在 Automation Test 中 Page Object Model (POM) 就是應用 OOP 設計出來的,所以需要先理解概念,後續做測試...

鐵人賽 Software Development DAY 9
大閘蟹料理指南(rust) 系列 第 9

技術 [D9] Modeling & OO

Modeling & OO 嘿嘿嘿 終於要進入AI的領域了嗎? 不! 這裡的建模並不是Machine learning 的建模.而是更單純的將外在世界透...

鐵人賽 Software Development DAY 12

技術 Day 12 - C++ 物件導向1 - 類別Class

前言與解釋有點長,只看C++規則怎麼用請直接往下滑到Class類別閱讀此篇前請先看一下Day10結構Struct,會更理解。 前言 咳咳,來說一個小離題的事...

鐵人賽 Software Development DAY 3

技術 Day03 - C++資料輸入之cin、getline()、cin.getline()有什麼差別?

在C++裡面,我們已經知道要怎麼輸出到console, std::cout << ;。那輸入呢?很簡單,std::cin >> ;什麼時...

鐵人賽 Software Development DAY 1

技術 Day01 目標 - 做一個虛擬貨幣投資的交易分析程式(command line program)

(是的,首先我得承認這個主題名字下得不太直觀,但來不及改了..... )物件導向是一個寫程式的方式,一個建構出複雜程式的方法。我們身為人類發明出電腦,絞盡腦汁寫...

技術 活動圖教程

活動圖類似於業務工作流程圖或簡單的流程圖,具有更豐富的語義。它描述了系統活動,或進行活動的人,以及這些活動的順序流程。活動圖是與面向對象方法相關的 UML 圖之...

鐵人賽 Software Development DAY 30

技術 Observer 觀察者模式

今天要談到的觀察者模式也是很常見的一個模式,常出現在有兩個以上需要互相溝通的物件之間 問題 假設有個物件 A 想要獲得物件 B 的更新資訊,但實際上 A 不知道...

鐵人賽 Software Development DAY 29

技術 Command 命令模式

當一個請求 (request) 進入系統之後,通常我們就會立即的處理它。但如果我們不想這麼直接的去處理這些請求,而是先讓這些需求排隊、依序進入,甚至做一些預先處...

鐵人賽 Software Development DAY 28

技術 Chain of Responsibility 責任鏈模式

今天開始進入到 Behavioral design patterns,這一類的模式著重於物件之間的溝通與責任分配,就讓我們接下去一起看看吧 Chain of R...

鐵人賽 Software Development DAY 27

技術 Facade 外觀模式

在 Structural patterns 當中,最後要來談的是外觀模式。 外觀模式提供我們一個簡單方便的操作介面,其背後幫我們實現了複雜的操作。這樣的模式其實...

鐵人賽 Software Development DAY 26

技術 Proxy 代理模式

今天要談到代理模式,其實跟昨天的裝飾器模式很類似。代理模式的目的在於,因應某些條件替換物件原本的行為。 同樣用昨天的例子,這裡有 BookPrinter 可以把...

鐵人賽 Software Development DAY 25

技術 Decorator 裝飾器模式

今天要介紹的裝飾器模式,跟之前提到過的轉接器模式有點類似(但其實結果完全不一樣)。 轉接器模式的功能在於將讓現有的物件可以透過轉接器,能夠實現自己沒有的介面或功...

鐵人賽 Software Development DAY 24

技術 Composite 合成模式

今天要來介紹一個比較特別、平常可能不太常見的模式。就讓我們直接進入問題吧 問題 假設有間百貨公司週年慶,為了回饋會員,決定發送福袋給大家。在福袋當中,會放入價值...

鐵人賽 Software Development DAY 23

技術 Bridge 橋接器模式

今天的橋接器模式,和昨天的轉接器模式一樣,都是非常常見的模式,可能我們不自覺當中都會使用到。話不多說,我們就先來看例子吧! 這裡有一個 Shape 類別,定義了...

鐵人賽 Software Development DAY 22

技術 Adaptor 轉接器模式

今天開始要介紹 Structural patterns。先前的 Creational patterns 著重在如何根據不同的問題建立一個新的物件,而 Struc...

鐵人賽 Software Development DAY 21

技術 Prototype 原型模式

今天來介紹 Creational Patterns 當中的最後一個模式。 假設這裡有一個 Engineer 類別,他除了有個 name 屬性之外,還擁有 too...

鐵人賽 Software Development DAY 20

技術 Builder 建造者模式

如果今天我們想要開一間飲料店,飲料的組合包含了茶、糖,還有牛奶,於是我們可以建立一個 createTea 方法,並依據傳入的參數,來決定最後的產品 class...

鐵人賽 Software Development DAY 19

技術 Abstract Factory 抽象工廠模式

延續上一篇文章的例子,我們除了想要訓練出 baseball player 之外,也希望他能夠同時擁有一些裝備,像是合適的棒球衣以及棒球鞋。 所以這裡我們在 Ba...

鐵人賽 Software Development DAY 18

技術 Factory 工廠模式

今天要來聊聊 Creational Patten 當中的工廠模式。 當我們透過類別建立出實例的時候,其實感覺就像是一個工廠生產出了產品。而同一個工廠 (類別),...

鐵人賽 Software Development DAY 17

技術 Singleton 單例模式

首先,先來看看一個簡單、特殊的創造物件的模式。 In software engineering, the singleton pattern is a sof...

鐵人賽 Software Development DAY 16

技術 回顧 SOLID 設計原則

在前面的五篇文章當中,我們提到了 SOLID 設計原則,分別為 單一功能原則 Single Responsibility Principle 開放封閉原則 O...

鐵人賽 Software Development DAY 15

技術 介面隔離原則 Interface Segregation Principles

最後,我們來到了 SOLID 當中的介面隔離原則。這裡我們先舉先前提到過的 BaseballPlayer and TennisPlayer 的例子。 由於兩個類...

鐵人賽 Software Development DAY 14

技術 里氏替換原則 Liskov Substitution Principle

今天來談談 SOLID 當中的里氏替換原則,同樣的先來看一下例子。 延續先前的例子,公司持續拓展,滿足更多不同使用者的需求。現在公司決定,讓使用者可以在建立實例...

鐵人賽 Modern Web DAY 13
Javascript 從寫對到寫好 系列 第 13

技術 Day 13 - OOP 初探 (3) - 實戰地圖遊戲

前言 跟 FP 一樣,OOP 到目前已經第三天了,我們來點實戰吧! 今天的實戰很特別啊,基本上是工作派不上用場的程式,但因為我不知為何靈光一閃,覺得寫這種東西很...

鐵人賽 Software Development DAY 13

技術 依賴反轉原則 Dependency Inversion Principle

在上一篇文章當中我們談到開放封閉原則,這裡我們要來談談依賴反轉原則 Dependency inversion principle。先不談定義,先來看範例。 延續...

鐵人賽 Modern Web DAY 12
Javascript 從寫對到寫好 系列 第 12

技術 Day 12 - OOP 初探 (2) - Class

前言 昨天講完 Javascript OOP 兩個重要支柱,今天接著這個主題,來講講 class 吧! Class(類別) Class 可以想像成印章,每壓一下...

鐵人賽 Software Development DAY 12

技術 開放封閉原則 Open-Closed Principle

在上一篇文章當中,我們提到「單一功能原則」,指每一個類別只會因為一種原因被修改。那麼,如果真的遇到需求變動、需要修改的時候,我們該如何「修改」呢? SOLID...

鐵人賽 Modern Web DAY 11
Javascript 從寫對到寫好 系列 第 11

技術 Day 11 - OOP 初探 (1) - Closures 與繼承鏈

前言 在學習 FP 的過程中,會看到 FP 常常被拿來跟 OOP 做比較,那 OOP 究竟是什麼呢?它們是對立關係只能選一種用嗎?誰比較有優勢呢? 今天會先簡單...

鐵人賽 Software Development DAY 11

技術 單一功能原則 Single Responsibility Principle

關於物件導向程式設計的五個設計原則,大家可能會依據不同的順序來解釋,不過我想「單一功能原則」一定會被擺在首位。 這個原則由 "Uncle Bob&qu...

鐵人賽 Software Development DAY 10

技術 中場回顧

過去一週我們提到了物件導向程式設計的重要概念,像是類別、抽象類別、介面,以及四大特徵:抽象、封裝、繼承、多型。 這裡讓我嘗試用一段話來整理這些內容之間的關係:...